/*
 * Copyright 2010-2024 JetBrains s.r.o. and Kotlin Programming Language contributors.
 * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
 */

package org.jetbrains.kotlin.resolve.calls;

import com.intellij.testFramework.TestDataPath;
import org.jetbrains.kotlin.test.JUnit3RunnerWithInners;
import org.jetbrains.kotlin.test.KotlinTestUtils;
import org.jetbrains.kotlin.test.util.KtTestUtil;
import org.jetbrains.kotlin.test.TestMetadata;
import org.junit.runner.RunWith;

import java.io.File;
import java.util.regex.Pattern;

/** This class is generated by {@link org.jetbrains.kotlin.generators.tests.GenerateJava8TestsKt}. DO NOT MODIFY MANUALLY */
@SuppressWarnings("all")
@TestMetadata("compiler/testData/resolvedCalls/enhancedSignatures")
@TestDataPath("$PROJECT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)
public class EnhancedSignaturesResolvedCallsTestGenerated extends AbstractEnhancedSignaturesResolvedCallsTest {
  private void runTest(String testDataFilePath) {
    KotlinTestUtils.runTest(this::doTest, this, testDataFilePath);
  }

  public void testAllFilesPresentInEnhancedSignatures() {
    KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/resolvedCalls/enhancedSignatures"), Pattern.compile("^(.+)\\.kt$"), null, true);
  }

  @TestMetadata("compiler/testData/resolvedCalls/enhancedSignatures/collection")
  @TestDataPath("$PROJECT_ROOT")
  @RunWith(JUnit3RunnerWithInners.class)
  public static class Collection extends AbstractEnhancedSignaturesResolvedCallsTest {
    private void runTest(String testDataFilePath) {
      KotlinTestUtils.runTest(this::doTest, this, testDataFilePath);
    }

    public void testAllFilesPresentInCollection() {
      KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/resolvedCalls/enhancedSignatures/collection"), Pattern.compile("^(.+)\\.kt$"), null, true);
    }

    @TestMetadata("collectionRemoveIf.kt")
    public void testCollectionRemoveIf() {
      runTest("compiler/testData/resolvedCalls/enhancedSignatures/collection/collectionRemoveIf.kt");
    }

    @TestMetadata("collectionSpliterator.kt")
    public void testCollectionSpliterator() {
      runTest("compiler/testData/resolvedCalls/enhancedSignatures/collection/collectionSpliterator.kt");
    }

    @TestMetadata("collectionStream.kt")
    public void testCollectionStream() {
      runTest("compiler/testData/resolvedCalls/enhancedSignatures/collection/collectionStream.kt");
    }
  }

  @TestMetadata("compiler/testData/resolvedCalls/enhancedSignatures/iterable")
  @TestDataPath("$PROJECT_ROOT")
  @RunWith(JUnit3RunnerWithInners.class)
  public static class Iterable extends AbstractEnhancedSignaturesResolvedCallsTest {
    private void runTest(String testDataFilePath) {
      KotlinTestUtils.runTest(this::doTest, this, testDataFilePath);
    }

    public void testAllFilesPresentInIterable() {
      KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/resolvedCalls/enhancedSignatures/iterable"), Pattern.compile("^(.+)\\.kt$"), null, true);
    }

    @TestMetadata("iterableSpliterator.kt")
    public void testIterableSpliterator() {
      runTest("compiler/testData/resolvedCalls/enhancedSignatures/iterable/iterableSpliterator.kt");
    }
  }

  @TestMetadata("compiler/testData/resolvedCalls/enhancedSignatures/iterator")
  @TestDataPath("$PROJECT_ROOT")
  @RunWith(JUnit3RunnerWithInners.class)
  public static class Iterator extends AbstractEnhancedSignaturesResolvedCallsTest {
    private void runTest(String testDataFilePath) {
      KotlinTestUtils.runTest(this::doTest, this, testDataFilePath);
    }

    public void testAllFilesPresentInIterator() {
      KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/resolvedCalls/enhancedSignatures/iterator"), Pattern.compile("^(.+)\\.kt$"), null, true);
    }

    @TestMetadata("iteratorForEachRemaining.kt")
    public void testIteratorForEachRemaining() {
      runTest("compiler/testData/resolvedCalls/enhancedSignatures/iterator/iteratorForEachRemaining.kt");
    }
  }

  @TestMetadata("compiler/testData/resolvedCalls/enhancedSignatures/list")
  @TestDataPath("$PROJECT_ROOT")
  @RunWith(JUnit3RunnerWithInners.class)
  public static class List extends AbstractEnhancedSignaturesResolvedCallsTest {
    private void runTest(String testDataFilePath) {
      KotlinTestUtils.runTest(this::doTest, this, testDataFilePath);
    }

    public void testAllFilesPresentInList() {
      KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/resolvedCalls/enhancedSignatures/list"), Pattern.compile("^(.+)\\.kt$"), null, true);
    }

    @TestMetadata("listReplaceAll.kt")
    public void testListReplaceAll() {
      runTest("compiler/testData/resolvedCalls/enhancedSignatures/list/listReplaceAll.kt");
    }

    @TestMetadata("listStream.kt")
    public void testListStream() {
      runTest("compiler/testData/resolvedCalls/enhancedSignatures/list/listStream.kt");
    }
  }

  @TestMetadata("compiler/testData/resolvedCalls/enhancedSignatures/map")
  @TestDataPath("$PROJECT_ROOT")
  @RunWith(JUnit3RunnerWithInners.class)
  public static class Map extends AbstractEnhancedSignaturesResolvedCallsTest {
    private void runTest(String testDataFilePath) {
      KotlinTestUtils.runTest(this::doTest, this, testDataFilePath);
    }

    public void testAllFilesPresentInMap() {
      KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/resolvedCalls/enhancedSignatures/map"), Pattern.compile("^(.+)\\.kt$"), null, true);
    }

    @TestMetadata("mapCompute.kt")
    public void testMapCompute() {
      runTest("compiler/testData/resolvedCalls/enhancedSignatures/map/mapCompute.kt");
    }

    @TestMetadata("mapComputeIfAbsent.kt")
    public void testMapComputeIfAbsent() {
      runTest("compiler/testData/resolvedCalls/enhancedSignatures/map/mapComputeIfAbsent.kt");
    }

    @TestMetadata("mapComputeIfPresent.kt")
    public void testMapComputeIfPresent() {
      runTest("compiler/testData/resolvedCalls/enhancedSignatures/map/mapComputeIfPresent.kt");
    }

    @TestMetadata("mapForEach.kt")
    public void testMapForEach() {
      runTest("compiler/testData/resolvedCalls/enhancedSignatures/map/mapForEach.kt");
    }

    @TestMetadata("mapMerge.kt")
    public void testMapMerge() {
      runTest("compiler/testData/resolvedCalls/enhancedSignatures/map/mapMerge.kt");
    }

    @TestMetadata("mapPutIfAbsent.kt")
    public void testMapPutIfAbsent() {
      runTest("compiler/testData/resolvedCalls/enhancedSignatures/map/mapPutIfAbsent.kt");
    }

    @TestMetadata("mapReplace.kt")
    public void testMapReplace() {
      runTest("compiler/testData/resolvedCalls/enhancedSignatures/map/mapReplace.kt");
    }
  }

  @TestMetadata("compiler/testData/resolvedCalls/enhancedSignatures/optional")
  @TestDataPath("$PROJECT_ROOT")
  @RunWith(JUnit3RunnerWithInners.class)
  public static class Optional extends AbstractEnhancedSignaturesResolvedCallsTest {
    private void runTest(String testDataFilePath) {
      KotlinTestUtils.runTest(this::doTest, this, testDataFilePath);
    }

    public void testAllFilesPresentInOptional() {
      KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/resolvedCalls/enhancedSignatures/optional"), Pattern.compile("^(.+)\\.kt$"), null, true);
    }

    @TestMetadata("optionalEmpty.kt")
    public void testOptionalEmpty() {
      runTest("compiler/testData/resolvedCalls/enhancedSignatures/optional/optionalEmpty.kt");
    }

    @TestMetadata("optionalGet.kt")
    public void testOptionalGet() {
      runTest("compiler/testData/resolvedCalls/enhancedSignatures/optional/optionalGet.kt");
    }

    @TestMetadata("optionalIfPresent.kt")
    public void testOptionalIfPresent() {
      runTest("compiler/testData/resolvedCalls/enhancedSignatures/optional/optionalIfPresent.kt");
    }

    @TestMetadata("optionalOf.kt")
    public void testOptionalOf() {
      runTest("compiler/testData/resolvedCalls/enhancedSignatures/optional/optionalOf.kt");
    }
  }

  @TestMetadata("compiler/testData/resolvedCalls/enhancedSignatures/references")
  @TestDataPath("$PROJECT_ROOT")
  @RunWith(JUnit3RunnerWithInners.class)
  public static class References extends AbstractEnhancedSignaturesResolvedCallsTest {
    private void runTest(String testDataFilePath) {
      KotlinTestUtils.runTest(this::doTest, this, testDataFilePath);
    }

    public void testAllFilesPresentInReferences() {
      KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/resolvedCalls/enhancedSignatures/references"), Pattern.compile("^(.+)\\.kt$"), null, true);
    }

    @TestMetadata("softReference.kt")
    public void testSoftReference() {
      runTest("compiler/testData/resolvedCalls/enhancedSignatures/references/softReference.kt");
    }

    @TestMetadata("weakReference.kt")
    public void testWeakReference() {
      runTest("compiler/testData/resolvedCalls/enhancedSignatures/references/weakReference.kt");
    }
  }
}
